# C 变换器

本页面介绍如何在 LangChain 中使用 [C 变换器](https://github.com/marella/ctransformers) 库。内容分为两部分：安装和设置，以及特定 C 变换器包装器的参考资料。

## 安装和设置

- 使用 `pip install ctransformers` 安装 Python 包。

- 下载支持的 [GGML 模型](https://huggingface.co/TheBloke)（参见[支持的模型](https://github.com/marella/ctransformers#supported-models)）。

## 包装器

### LLM

存在一个 C 变换器 LLM 包装器，可以通过以下方式访问：

```python
from langchain_community.llms import CTransformers
```

它为所有模型提供了统一的接口：

```python
llm = CTransformers(model='/path/to/ggml-gpt-2.bin', model_type='gpt2')
print(llm.invoke('AI is going to'))
```

如果出现 `illegal instruction` 错误，请尝试使用 `lib='avx'` 或 `lib='basic'`：

```py
llm = CTransformers(model='/path/to/ggml-gpt-2.bin', model_type='gpt2', lib='avx')
```

它可以与 Hugging Face Hub 上托管的模型一起使用：

```py
llm = CTransformers(model='marella/gpt-2-ggml')
```

如果模型仓库有多个模型文件（`.bin` 文件），可以使用以下方式指定模型文件：

```py
llm = CTransformers(model='marella/gpt-2-ggml', model_file='ggml-model.bin')
```

可以使用 `config` 参数传递其他参数：

```py
config = {'max_new_tokens': 256, 'repetition_penalty': 1.1}
llm = CTransformers(model='marella/gpt-2-ggml', config=config)
```

有关可用参数的列表，请参阅[文档](https://github.com/marella/ctransformers#config)。

有关更详细的操作说明，请参阅[此笔记本](/docs/integrations/llms/ctransformers)。